M04 DHCP ja staattinen reititys
Takaisin opintojakson aikatauluun
Opetusvideot
Video: Tietoverkot, DHCP ja staattinen reititys, osa 1
Video: Tietoverkot, DHCP ja staattinen reititys, osa 2
Video: Tietoverkot, DHCP ja staattinen reititys, osa 3
DHCP - Dynamic Host Configuration Protocol
Aiemmassa kappaleessa puhuttiin laitteiden manuaalisesta osoitteistamisesta. Tämä on työläs ja vaivalloinen tapa, mutta tarpeellinen 1990 -luvun lopussa, kun standardeja tapoja osoitteistaa päätelaitteita ei ollut laajasti saatavilla (tai tuettuna).
Hypätäkseni tähän päivään, DHCP on tullut niin olennaisena osana tietoverkkoihin, että törmäät siihen todennäköisesti useita kertoja opinnoissasi. Kertaus on opintojen äiti.
RFC 2131 - Dynamic Host Configuration Protocol
The Dynamic Host Configuration Protocol (DHCP) provides configuration parameters to Internet hosts. DHCP consists of two components:
- a protocol for delivering host-specific configuration parameters from a DHCP server to a host
- and a mechanism for allocation of network addresses to hosts.
DHCP:ssä pitää olla palvelin
sovellus (eng. DHCP server) joka jakaa osoitteita asiakas
sovelluksille (eng. DHCP client).
- DHCP palvelimia voivat olla
- Linux käyttöjärjestelmä (esim. Centos 8)
- Windows käyttöjärjestelmä (e.g. Windows Server)
- Reititin
- e.g. Vyos
jota käytämme tällä opintojaksolla
- Kotireitittimesi
- e.g. Vyos
- DHCP asiakkaita voivat olla
- Matkapuhelimet
- Kannettavat tietokoneet
- Pöytäkoneet
- IoT -laitteet
- Jääkaapit
- Pakastimet
- Autot
- Robotti-imurit
- ... mikä tahansa joka yhdistää Internettiin
DHCP on siis kaikkialla.
Vinkki: DHCP:tä kutsutaan joskus DHCPv4:ksi IPv4 käytössä
Vinkki: IPv6 & DHCP
IPv6:ssa yritettiin hankkiutua eroon DHCP:stä EUI64 & SLAAC osoitteistuksen kautta.
DHCP on vain niin suosittu että sille on myös IPv6 tuki DHCPv6 (RFC 8415):n kautta.
Viestit laitteiden välillä
DHCP käyttää UDP porttia 68 and UDP porttia 67 tiedonsiirtoon OSI Mallin 4 kerroksella (aiemmin kyseiset portit oli varattuna "Bootstrap protocol":lle). Kuvio alapuolella osoittaa perusyhteydellisyyden laitteiden välillä automaattista osoitteistusta varten.
DHCPDISCOVER
Asiakas lähettää tämän viestin "löytääkseen" mitä DHCP palvelimia olisi saatavilla verkossa ja mitä verkkoparametrejä ne tarjoaisivat.
DHCPOFFER
Palvelin vastaa DHCPDISCOVER
viestiin DHCPOFFER
-viestillä. Tarjouksessa palvelin ehdottaa eri IPv4 asetuksia asiakkaalle.
DHCPREQUEST
Kun asiakas saa tarjouksen, sen pitää pyytää dhcp sidontaa
(eng. dhcp binding) niille asetuksille/parametreille. Tämä viesti tunnistaa että molemmat laitteet ovat havainneet toisensa verkossa.
DHCPACK
Palvelin vahvistaa DHCPACK
-viestillä asetukset ja dhcp sidonnan
. Tämä sinetöi molemmilla laitteilla asetusten käyttöönoton ja asiakkaan automaattisen osoitteistuksen valmistumisen.
Tehdään Vyos:sta DHCP palvelin
Topologiamme mahdollistaa Vyos:n toiminnan DHCP -palvelimena. configure
-tilassa voimme asettaa seuraavat komennot:
set service dhcp-server shared-network-name VLAN5 subnet 192.168.0.0/24 default-router 192.168.0.254
Asettaa DHCP viestiin aliverkolle 192.168.0.0/24
parametrin oletusyhdyskäytävä
:lle osoitteeseen 192.168.0.254
set service dhcp-server shared-network-name VLAN5 subnet 192.168.0.0/24 range PCs start 192.168.0.2
Aloittaa osoitteiden jakamisen osoiteavaruudesta 192.168.0.2
alkaen.
set service dhcp-server shared-network-name VLAN5 subnet 192.168.0.0/24 range PCs stop 192.168.0.250
Lopettaa osoitteiden jakamisen osoiteavaruudesta päättyen 192.168.0.250
.
Jotka näyttäisi show configuration
-komennossa
service {
dhcp-server {
shared-network-name VLAN5 {
subnet 192.168.0.0/24 {
default-router 192.168.0.254
range PCs {
start 192.168.0.2
stop 192.168.0.250
}
}
}
}
}
Varoitus: Jos sinulla on useampia aliverkkoja samassa DHCP palvelimessa, käytä eri shared-network-name
nimeä niille!
esim.
service {
dhcp-server {
shared-network-name VLAN5 {
subnet 192.168.0.0/24 {
default-router 192.168.0.254
range PCs {
start 192.168.0.2
stop 192.168.0.250
}
shared-network-name VLAN10 {
subnet 192.168.2.0/24 {
default-router 192.168.2.254
range PCs {
start 192.168.2.2
stop 192.168.2.250
}
}
}
}
}
Kun asetukset on otettu käyttöön Vyos
-reitittimellä ja päätelaitteet asetettu automaattiselle osoitteistukselle. Palvelin näyttää aktiiviset lainansa päätelaitteille.
show dhcp server leases
vyos@vyos:~$ show dhcp server leases
IP address Hardware address Lease expiration Pool Client Name
------------ ------------------ ------------------- ------ ------------------
192.168.0.2 08:00:27:03:c2:9a 2020/08/06 08:01:49 VLAN5 lubuntu-VirtualBox
Varoitus: Joskus on tarpeellista pakottaa DHCP asiakas välittömästi pyytämään IP osoitetta
ipconfig /release
ipconfig /renew
dhclient -r
or
ifdown eth0
ifup eth0
DHCP voi joskus muistaa yllättävän paljon (lue: olla tuskainen käyttää) eli palvelinmuutoksien pakottaminen päätelaitteelle voi vaatia päätelaitteen täydellisen uudelleenkäynnistämisen.
Staattinen reititys (eng. Static routing)
Nyt olemme siirtymässä pois lähiverkoista reitittimien välisiin verkkoihin. Reitittimet toimivat aliverkkojen "risteyksissä" ja niitä voi mieltää risteyksien liikennevaloiksi ja -kylteiksi. Ne sallivat liikenteen lävitse ja ohjaavat paketteja kääntymään eri suuntiin perustuen metriikoihin (yleensä etäisyys esim. kilometrit normaalissa liikenteessä).
Staattiset reitit ovat päätöksiä tietoverkon ylläpitäjiltä; miten liikennekyltit asetetaan risteyksiin.
Esimerkki: Staattinen reitti
set protocols static route <subnet> next-hop <how to get there / next-hop>
esim.
set protocols static route 172.16.0.0/24 next-hop 25.0.0.2
Tätä voi mieltää liikennekylttinä risteyksessä
set a static sign <Helsinki> next-hop <turn left>
Esimerkki yläpuolelta toimii alapuolisessa topologiassa. Ampere
-reititin saa set protocols static route 172.16.0.0/24 next-hop 25.0.0.2
-komennon, koska sillä ei ole liitäntöjä (teitä) IP aliverkkoon 172.16.0.0/24
. Ampere
ei tiedä missä sellainen aliverkko on ilman staattista reittiä.
Symmetrinen ja Asymmetrinen reititys
Lähestulkoon aina tietoliikenne on kaksisuuntaista (eng. bidirectional) kommunikointia. Molemmat osapuolet haluavat lähettää liikennettä toisilleen: asiakas <-> palvelin. Tämä vaatii että reitityksen pitää olla "täydellistä" kaikissa risteyksissä/reitittimissä.
Aiemmassa esimerkissä me pelkästään asetimme reitin oikealta vasemmalle, mutta emme reittiä takaisin. Tätä voi ajatella menemisenä Jyväskylästä Helsinkiin, mutta... miten pääsemme takaisin Helsingistä Jyväskylään? Noh... on useampia reittejä esim. Lahden tai Tampereen lävitse.
Tietenkin saatat ottaa eri reitin takaisinpäin, mutta... miksi?
No koska Jyväskylä - Lahti - Helsinki on lyhyempi reitti, ja siten vie vähemmän polttoainetta eli on halvempi.
Tämä sama periaate on kaiken reitityksen ytimessä. On syitä miksi tietoliikennepaketti poikkeasi lyhimmältä reitiltä, mutta usein lyhintäreittiä suositaan.
Esimerkki - Symmetrinen
Annetussa esimerkissä
Saavuttaakseen symmetrisen reitityksen, seuraavat komennot tarvitaan:
Ampere
-reitittimellä: set protocols static route 172.16.0.0/24 next-hop 25.0.0.2
Ja Candela
-reitittimellä: set protocols static route 192.168.0.0/24 next-hop 25.0.0.1
Jos molemmat aliverkot on symmetrisesti reititetty, Candela
-reititin tarvitsee myös: set protocols static route 192.168.10.0/24 next-hop 25.0.0.1
Esimerkki - Asymmetrinen
Sama esimerkki asymmetrisenä tarkoittaisi muutoksia reitteihin (jotka annettiin symmetrisessä esimerkissä).
Ampere
-reitittimellä: set protocols static route 172.16.0.0/24 next-hop 25.0.0.2
Ja Candela
-reitittimellä: set protocols static route 192.168.0.0/24 next-hop 50.0.0.1
Reitinvalintaprosessi
Me käytämme alapuolista topologiaa esittämään reitinvalintaprosessia.
Kun Ampere
-reititin vastaanottaa IP-paketin, se katsoo Kohdeosoite -kentän paketista. Oletettakoon että osoite on 172.16.0.32
reititin voi ruveta etsimään reititystaulustaan "pisintä osumaa" verkonosoitteelle & aliverkonmaskille.
Protocol | IP Network | Mask | Interface |
---|---|---|---|
Connected | 25.0.0.0 | / 30 | Ethernet 3 |
Connected | 192.168.0.0 | / 24 | Ethernet 1 |
Connected | 192.168.10.0 | / 24 | Ethernet 2 |
Static | 172.16.0.0 | / 24 | Ethernet 3 |
Tätä varten jokaisen reitin osoitetta ja aliverkonmaskia käytetään suorittamaan JA -totuustaulu (muistatko aliverkotuksesta?), jotta löydetään mikä reitti osuu parhaiten/eniten.
Tässä tapauksessa jos otamme reitin 172.16.0.0/24
ja erotamme aliverkonmaskin /24
. Voimme käyttää sitä laskemaan, josko kohdeosoite osuu aliverkkoon seuraavalla laskutoimituksella:
1010 1100 . 0001 0000. 0000 0000 . 0010 0000
kohdeosoite binääriformaatissa.
1111 1111 . 1111 1111. 1111 1111 . 0000 0000
aliverkonmaski binääriformaatissa.
JA -totuustaulun avulla käymme bitti bitiltä molemmat muuttujat lävitse saadaksemme tulokseksi että 172.16.0.32
kuuluu 172.16.0.0/24
-aliverkkoon. Ja on tarkin osuma reititystaulussa.
Täten paketti lähetetään ulos rajapinnasta Ethernet 3
.
Varoitus: Tämä esimerkki oli hyvin yksinkertainen... suuremmassa reititystaulussa voi olla monimutkaisempia tilanteita
Voi olla useita eri metriikoita pohdittavana päällekkäisten reittiosumien kesken.
Yleensä vertaillaan Administrative Distance
ja Metric(s)
, joskin metriikat ovat erillaisia per dynaaminen reititysprotokolla.
Mutta nämä tapaukset ovat myöhempiä opintojaksoja varten.
Jatka harjoituksiin!
E05 DHCP konfigurointi ja staattinen reititys
Kertaa materiaalia pienellä tietovisalla?
Tietoverkot Quiz - M04 DHCP ja staattinen reititys
Takaisin opintojakson aikatauluun?
Takaisin opintojakson aikatauluun
Lisenssi
Tämän opintojakson materiaalin on kirjoittanut Karo Saharinen ja se on lisensoitu Creative Commons Nimeä-EiKaupallinen-EiMuutoksia 4.0 Kansainvälinen -lisenssillä.